package com.imooc.trading_system.service;

import com.imooc.trading_system.model.AddressDO;
import com.imooc.trading_system.utils.JsonData;
import com.imooc.trading_system.vo.address.AddAddressReqVO;
import com.imooc.trading_system.vo.address.DeleteAddressReqVO;
import com.imooc.trading_system.vo.address.EditAddressReqVO;
import com.imooc.trading_system.vo.address.GetAddressByIdReqVO;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Feng zhaoxi
 * @since 2022-04-24
 */
public interface AddressService {

    /**
     * 新增地址
     *
     * @param addAddressReqVO
     * @return
     */
    JsonData addAddress(AddAddressReqVO addAddressReqVO);

    /**
     * 编辑地址
     *
     * @param editAddressReqVO
     * @return
     */
    JsonData editAddress(EditAddressReqVO editAddressReqVO);

    /**
     * 删除地址
     *
     * @param deleteAddressReqVO
     * @return
     */
    JsonData deleteAddress(DeleteAddressReqVO deleteAddressReqVO);

    /**
     * 获取地址
     *
     * @return
     */
    JsonData getAddressList();

    /**
     * 根据id获取地址详情
     *
     * @return
     */
    JsonData getAddressListById(GetAddressByIdReqVO getAddressByIdReqVO);

    /**
     * 获取卖家默认地址
     *
     * @param sellerId
     * @return
     */
    AddressDO getSellerDefaultAddress(int sellerId);
}
